iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0
自我挑戰組

Hello Swift系列 第 13

13/30 UI元件之TableView

  • 分享至 

  • xImage
  •  

Apple官方文件

  • UITableView:列表(View)

ViewController服從協定UITableViewDataSource與UITableViewDelegate:

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate

設置section(段落)數目:

func numberOfSections(in tableView: UITableView) -> Int {
        return 2
}

設置每個section的列數:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    //計算Array的成員數量
    if section == 0{
    return fruitArray.count
    }else{
        return colorArray.count
    }
}

設置顯示的資料:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    //回傳新的或是回收再利用的cell
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
    //顯示文字(屬性textLabel.text)
    /*帶入參數indexPath:生成第幾個的section & row
    indexPath.section [0]
    indexPath.row [0~3]*/
    if indexPath.section == 0{
            cell.textLabel?.text = fruitArray[indexPath.row]
        }else{
            cell.textLabel?.text = colorArray[indexPath.row]
        }
    //回傳的UITableViewCell及其內容
    return cell
}

設置section的標題:

func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    if section == 0{
        return "FRUIT"
    }else{
        return "COLOR"
    }
}

小筆記

  • TableViewCell:列表的其中一列
  • 將TableView的dataSource與delegate屬性與ViewController連結。

Results


上一篇
12/30 Stake View
下一篇
14/30 UI元件之TableViewController-1
系列文
Hello Swift30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言